package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 门店开单管理对象 sys_store_open
 * 
 * @author ruoyi
 * @date 2025-04-30
 */
@ApiModel(description = "门店开单管理对象")
public class SysStoreOpen extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private String id;

    /** 订单编号 */
    @Excel(name = "订单编号")
    @ApiModelProperty(value = "订单编号")
    private String orderCode;

    /** 创建时间 */
    @Excel(name = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 会员id */
    @ApiModelProperty(value = "会员id",required = true)
    private String memberId;

    /** 门店id */
    @ApiModelProperty(value = "门店id",required = true)
    private String storeId;

    @Excel(name = "会员昵称")
    @ApiModelProperty(value = "会员名称")
    private String memberName;

    /** 手机号 */
    @ApiModelProperty(value = "手机号")
    @Excel(name = "会员手机")
    private String phonenumber;

    /** 商品种类 */
    @ApiModelProperty(value = "商品种类")
    private String goodsCate;

    /** 购买数量 */
    @Excel(name = "销售数量")
    @ApiModelProperty(value = "购买数量",required = true)
    private String payNum;

    /** 订单金额 */
    @Excel(name = "订单金额")
    @ApiModelProperty(value = "订单金额")
    private String orderMoney;

    /** 是否删除 */
    @ApiModelProperty(value = "是否删除")
    private String status;

    /** 设置收货地址 */
    @Excel(name = "设置收货地址")
    @ApiModelProperty(value = "设置收货地址")
    private String addressId;

    /** 销售商品 */
//    @Excel(name = "销售商品")
    @ApiModelProperty(value = "销售商品")
    private String saleGoods;

    @ApiModelProperty(value = "创建开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    @ApiModelProperty(value = "创建结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    @ApiModelProperty(value = "门店名称")
    @Excel(name = "门店名称")
    private String storeName;

    @ApiModelProperty(value = "销售数量")
    private List<SysStoreOpenVo> sysMemberVoList;

    /** 设置收货地址 */
    @ApiModelProperty(value = "设置收货地址")
    private String addressName;
    /** 收货人姓名 */
    @ApiModelProperty(value = "收货人姓名")
    private String shName;
    /** 收货手机号 */
    @ApiModelProperty(value = "收货手机号")
    private String shPhonenumber;

    // 门店开单人手机号
    @Excel(name = "开单人手机")
    private String openPhonenumber;

    private String categoryId;

    public String getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(String categoryId) {
        this.categoryId = categoryId;
    }

    public String getOpenPhonenumber() {
        return openPhonenumber;
    }

    public void setOpenPhonenumber(String openPhonenumber) {
        this.openPhonenumber = openPhonenumber;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setOrderCode(String orderCode) 
    {
        this.orderCode = orderCode;
    }

    public String getOrderCode() 
    {
        return orderCode;
    }

    public void setMemberId(String memberId) 
    {
        this.memberId = memberId;
    }

    public String getMemberId() 
    {
        return memberId;
    }

    public void setStoreId(String storeId) 
    {
        this.storeId = storeId;
    }

    public String getStoreId() 
    {
        return storeId;
    }

    public void setGoodsCate(String goodsCate) 
    {
        this.goodsCate = goodsCate;
    }

    public String getGoodsCate() 
    {
        return goodsCate;
    }

    public void setPayNum(String payNum) 
    {
        this.payNum = payNum;
    }

    public String getPayNum() 
    {
        return payNum;
    }

    public void setOrderMoney(String orderMoney) 
    {
        this.orderMoney = orderMoney;
    }

    public String getOrderMoney() 
    {
        return orderMoney;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setSaleGoods(String saleGoods) 
    {
        this.saleGoods = saleGoods;
    }

    public String getSaleGoods() 
    {
        return saleGoods;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getPhonenumber() {
        return phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public List<SysStoreOpenVo> getSysMemberVoList() {
        return sysMemberVoList;
    }

    public void setSysMemberVoList(List<SysStoreOpenVo> sysMemberVoList) {
        this.sysMemberVoList = sysMemberVoList;
    }

    public String getAddressId() {
        return addressId;
    }

    public void setAddressId(String addressId) {
        this.addressId = addressId;
    }

    public String getAddressName() {
        return addressName;
    }

    public void setAddressName(String addressName) {
        this.addressName = addressName;
    }

    public String getShName() {
        return shName;
    }

    public void setShName(String shName) {
        this.shName = shName;
    }

    public String getShPhonenumber() {
        return shPhonenumber;
    }

    public void setShPhonenumber(String shPhonenumber) {
        this.shPhonenumber = shPhonenumber;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderCode", getOrderCode())
            .append("memberId", getMemberId())
            .append("storeId", getStoreId())
            .append("goodsCate", getGoodsCate())
            .append("payNum", getPayNum())
            .append("orderMoney", getOrderMoney())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("saleGoods", getSaleGoods())
            .toString();
    }
}
